# -*- coding: utf-8 -*-
 ##############################################
 ##                                            ##
 ##            Mantenimiento module             ##
 ##                                             ##
 ##                                             ##
 ##              from Basiq Series              ##
 ##           by Críptidos Digitales            ##
 ##                 GPL (c)2008                 ##
  ##                                            ##
    ##############################################

"""
"""

from PyQt4 import QtCore, QtGui

import mantenimiento_ui

import personas
import productos
import personas





class Controller():

    def __init__(self):
        # print 'mantenimiento.Controller.__init__()'
        personas.session = session

        productos.session = session
        productos.app = app

        personas.session = session

        self.controllers = []
        self.controllers.append(personas.Controller())
        self.controllers.append(productos.Controller())


    def initDb(self):
        personas.model.initDb()
        productos.model.initDb()


    def initForm(self):
        # print 'mantenimiento.Controller.initForm()'
        session.mainForm.ui.mantenimiento = Forma(session.mainForm.ui.baseFrame, owner=session.mainForm)
        session.mainForm.slide.addWidget(session.mainForm.ui.mantenimiento)
        session.mainForm.ui.mantenimiento.ui.title.hide()

        ## Tool Menu
        session.mainForm.ui.mantenimientoTO = QtGui.QToolButton(session.mainForm.ui.sectionsFR)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(session.mainForm.ui.mantenimientoTO.sizePolicy().hasHeightForWidth())
        session.mainForm.ui.mantenimientoTO.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("imagenes/Doc.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        session.mainForm.ui.mantenimientoTO.setIcon(icon)
        session.mainForm.ui.mantenimientoTO.setIconSize(QtCore.QSize(32, 32))
        session.mainForm.ui.mantenimientoTO.setToolTip(u'Mantenimiento\nF9')
        session.mainForm.ui.mantenimientoTO.setShortcut("F9")
        session.mainForm.ui.mantenimientoTO.setAutoRaise(True)

        session.mainForm.ui.sectionsLY.insertWidget(0, session.mainForm.ui.mantenimientoTO)
        session.mainForm.ui.mantenimientoAC = QtGui.QAction(icon, u"", session.mainForm)
        session.mainForm.ui.mantenimientoAC.setCheckable(False)
        session.mainForm.ui.mantenimientoAC.setIconText(u"")
        session.mainForm.connect(session.mainForm.ui.mantenimientoAC, QtCore.SIGNAL("triggered()"), session.mainForm.showMantenimiento)

        session.mainForm.ui.mantenimientoTO.setDefaultAction(session.mainForm.ui.mantenimientoAC)

        ## Productos
        session.mainForm.ui.mantenimiento.ui.productos = productos.getForm(owner=session.mainForm)
        session.mainForm.ui.mantenimiento.ui.tabWidget.addTab(session.mainForm.ui.mantenimiento.ui.productos, u'&PRODUCTOS')

        ## Clientes
        session.mainForm.ui.mantenimiento.ui.customers = personas.getForm(u'clientes', owner=session.mainForm)
        session.mainForm.ui.mantenimiento.ui.tabWidget.addTab(session.mainForm.ui.mantenimiento.ui.customers, u'&Clientes')

        ## Proveedores
        session.mainForm.ui.mantenimiento.ui.suppliers = personas.getForm(u'proveedores', owner=session.mainForm)
        session.mainForm.ui.mantenimiento.ui.tabWidget.addTab(session.mainForm.ui.mantenimiento.ui.suppliers, u'&Proveedores')



class Forma(QtGui.QFrame):

    @property
    def content(self):
        return self.__content

    @property
    def owner(self):
        return self.__owner

    def __init__(self, *args, **kwds):
        if kwds.has_key('content'):
            self.__content = kwds.pop('content')
        else:
            self.__content = None

        if kwds.has_key('owner'):
            self.__owner = kwds.pop('owner')
        else:
            self.__owner = None

        QtGui.QFrame.__init__(self, *args)

        self.ui = mantenimiento_ui.Ui_Form()
        self.ui.setupUi(self)

        self.ui.title.setText(u"MANTENIMIENTO DE DATOS")

        font = QtGui.QFont()
        font.setBold(True)
        font.setPointSize(9*app.fontZoom)

        self.ui.tabWidget.setFont(font)
        self.ui.tabWidget.clear()

        self.connect(self.owner, QtCore.SIGNAL('addProduct()'), self.add)



    def add(self):
        print 'here too'

